Systems and methods for operation of recording devices such as digital video recorders (DVRs)

ABSTRACT

A system, method, and computer program product are provided according to one embodiment. The system includes logic for receiving a request to record a contiguous television program; a storage medium for storing a representation of a first portion of the television program on a local recording system, the first portion being temporally shorter than a length of the television program; logic for sending a message to a remote system in response to the message, wherein the remote system stores a representation of a second portion of the television program; logic for outputting an indication of the television program on a list of recorded programs; logic for receiving a request to play back the television program via selection of the indication from the list; logic for outputting the first portion of the television program; logic for downloading at least a portion of the representation of the second portion of the television program; and logic for outputting the second portion of the television program after outputting the first portion of the television program.

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent Appl. No.61/321,441, filed Apr. 6, 2010, and U.S. Provisional Patent Appl. No.61/322,249, filed Apr. 8, 2010, both to Kotab, and which are hereinincorporated by reference.

BRIEF DESCRIPTION OF THE DRAWINGS

For a fuller understanding of the nature and advantages of the presentinvention, as well as illustrative modes of use, reference should bemade to the following detailed description read in conjunction with theaccompanying drawings.

FIG. 1 is a schematic diagram of a network system, showing multiplerecording devices capable of communicating with each other, according toone embodiment.

FIG. 2 is a schematic diagram of a network system, showing multiplerecording devices capable of communicating with each other, according toanother embodiment.

FIG. 3 is a flowchart depicting a system according to one embodiment.

FIG. 4 is a flowchart depicting a system according to one embodiment.

FIG. 5 is a flowchart depicting a system according to one embodiment.

FIG. 6 is a flowchart depicting a system according to one embodiment.

FIG. 7 is a flowchart depicting a system according to one embodiment.

FIG. 8 is a flowchart depicting a system according to one embodiment.

FIG. 9 is a flowchart depicting a system according to one embodiment.

FIG. 10 is a flowchart depicting a system according to one embodiment.

FIG. 11 is a flowchart depicting a system according to one embodiment.

FIG. 12 is a flowchart depicting a system according to one embodiment.

Various embodiments of the present invention are described in furtherdetail below with reference to the figures, in which like items arenumbered the same in the several figures.

DETAILED DESCRIPTION

The following paragraphs describe certain features and combinations offeatures that can be used in connection with each of the methods of theinvention and embodiments, as generally described below. Also,particular features described hereinafter can be used in combinationwith other described features in each of the various possiblecombinations and permutations. As such, the invention is not limited tothe specifically described embodiments.

Unless otherwise specifically defined herein, all terms are to be giventheir broadest possible interpretation and scope including one or moremeanings implied from the specification as well as one or more meaningsunderstood by those skilled in the art and/or as defined indictionaries, treatises, etc.

The following description is made for the purpose of illustrating thegeneral principles of the present invention and is not meant to limitthe inventive concepts claimed herein. Further, particular featuresdescribed herein can be used in combination with other describedfeatures in each of the various possible combinations and permutations.

It must also be noted that, as used in the specification and theappended claims, the singular forms “a,” “an” and “the” include pluralreferents unless otherwise specified.

In one general embodiment, a system, method, and computer programproduct are provided. The method includes, and system has logic for,receiving a request to record a contiguous television program; storing arepresentation of a first portion of the television program on a localrecording system, the first portion being temporally shorter than alength of the television program; sending a message to a remote systemfor causing storage of a representation of a second portion of thetelevision program in the remote system in response to the message;outputting an indication of the television program on a list of recordedprograms; receiving a request to play back the television program viaselection of the indication from the list; outputting the first portionof the television program; downloading at least a portion of therepresentation of the second portion of the television program; andoutputting the second portion of the television program after outputtingthe first portion of the television program

In another general embodiment, a system, method, and computer programproduct are provided. The method includes, and system has logic for,receiving a message; storing a representation of a second portion of acontiguous television program in response to the message, wherein thesecond portion of the television program is temporally shorter than alength of the television program; receiving a request to upload at leasta portion of the representation of the second portion of the televisionprogram; and uploading the at least a portion of the representation ofthe second portion of, the television program to a local system.

In another general embodiment, a system, method, and computer programproduct are provided. The method includes, and system has logic for,receiving a request to record a television program; storing arepresentation of a first portion of the television program on a localrecording system, the first portion being temporally shorter than alength of the television program; sending a message to a remote system,wherein the remote system stores a representation of a second portion ofthe television program in response to the message, wherein the secondportion of the television program corresponds to a portion of thetelevision program that conflicts with another recording scheduled to berecorded by the recording system; and downloading at least a portion ofthe representation of the second portion of the television program.

FIG. 1 is a schematic diagram of a network including multiple recordingdevices, such as Digital Video Recorder (DVRs), according to oneembodiment. The network architecture 100, in accordance with oneembodiment, may include a plurality of networks 102. In the context ofthe present network architecture 100, the networks 102 may each take anyform including, but not limited, to a local area network (LAN), awireless network (e.g., Wi-Fi) or link (e.g., Bluetooth), a wide areanetwork (WAN) such as the Internet, cable television network,telephony'network, peer-to-peer network, etc. In addition, more than onenetwork may be included under each network 102. Moreover, thearchitecture 100 shown may include more or fewer components than thoseshown, in various embodiments. Also wireless links 115 and hardwiredlinks 116 are shown to illustrate that a connection may include one orboth types of links 115, 116, as discussed below.

Coupled to at least one of the networks 102 is a plurality of recordingdevices 110. In this example, several recording devices are present,namely a first DVR 122 and a second DVR 124, and potentially a third andfourth DVR 126, 128. The recording devices may communicate with eachother via the networks 102. Also, or alternatively, some or all of therecording devices may communicate with each other directly, as shownfor. DVRs 124 and 126. Any communication protocol may be used in suchcommunication, including protocols known in the art. The informationcommunicated between the recording devices may include one or more ofvideo data from a signal source, video data stored on the recordingdevice, video files, pictures, audio, etc.

Furthermore, each recording device 110 is capable of being placed incommunication with a display 112. The display 112 may be a television, acomputer monitor, a video projector, or any type of display.

FIG. 2 is a schematic diagram of a network architecture includingmultiple recording devices and various handheld devices and serversaccording to one embodiment. The network architecture 200, in accordancewith one embodiment, may include a plurality of networks 102, andvarious features of the architecture 100 of FIG. 1. In the context ofthe present network architecture 200, the networks 102 may each take anyform including, but not, limited, to a local area network (LAN), awireless network (e.g., Wi-Fi) or link (e.g., Bluetooth), a wide areanetwork (WAN) such as the Internet, cable television network, telephonynetwork, peer-to-peer network, etc. In addition, more than one network,may be included under each network 102. Moreover, the architecture 200shown may include more or fewer components than those shown, in variousembodiments.

Coupled to the networks 102 are servers 104 which are capable ofcommunicating over the networks 102. Also coupled to the networks 102and the servers 104 is a plurality of clients 106. Such servers 104 mayinclude a mainframe computer, network appliance, desktop computer;lap-top computer, hand-held computer, mobile phone, smart phone, andother types of mobile media devices (with or without telephonecapability), personal digital assistant (PDA), peripheral (e.g. printer,etc.), any component of a computer, and/or any other type of logic. Inorder to facilitate communication among the networks 102, at least onegateway 108 is optionally coupled therebetween. The at least one gateway108 may be a router, server, computer, etc., configured such thatcommunications between connected devices is enacted (possibly faster,easier, with different operating, systems, etc.).

The communication lines 115 indicate wireless connections, while thecommunication lines 116 indicate hardwired connections. Thesecommunication types are shown for illustrative purposes only, and shouldin no way limit the scope of the invention, e.g., any connection can behardwired, wireless or a combination of both. For instance, a client 106may communicate with a network 102 wirelessly 115, as shown in Network1, or a client 106 may communicate with a network 102 via hardwiredconnections 116, as shown in Network 2.

A hardwired connection may be any connection which uses a wire, cord,cable, etc., to connect devices together and allow communicationsbetween such devices. Some illustrative hardwire connections includeEthernet, serial, USB, parallel, FIREWIRE, etc. A wireless connectionmay be, any connection which uses a wireless communication techniquewith which to communicate between two or more devices, possibly over adistance. Some illustrative wireless connections include radio frequency(RF) communication (such as Wi-Fi, Bluetooth, W-LAN, mobile telephonynetwork—3G, CDMA, etc.), microwave communication, satellitecommunication (such as Global Positioning Satellite—GPS), infrared (IR)communication, etc.

In the context of the network architecture 100, a recording device 110,such as a Digital Video Recorder (DVR), computer system, tape-basedrecording system, network storage system, network-accessible peripheralstorage system such as a USB drive coupled to a computer, etc., may beintegrated and/or employed in the network architecture 100 that iscapable of recording video content, transmitting content via wirelessand/or wired techniques, and communicating with various handheld deviceswirelessly and through network communications such as wireless telephonesystems, Bluetooth, Wi-Fi, etc. As shown, the recording device 110 may,be placed in communication with a network 102 either wirelessly orthrough hardwiring, or be placed in communication with a client 106,such as a handheld device, wirelessly. Additionally, the recordingdevice 110 may be any type of device that is capable of receiving andrecording video data, such as a digital video recorder (DVR), a computerwith a TV-in card, an iPOD, an iPHONE, a BLACKBERRY device, a SLINGBOXdevice, etc. A recording device may include additional functionality,such as Internet access, wireless networking, external memory storageinterface, etc. The recording device may be a standalone unit orintegrated with an intermediary device, such as a cable receiver, settop box, satellite receiver, etc.

In particularly preferred embodiments, the methods set forth herein areperformed by a recording device.

Furthermore, the recording device 110 is capable of being placed incommunication with a display 112. The display 112 may be a television, acomputer monitor, a video projector, or any type of display. Suchconnection may be a direct connection, connection via network,connection via an additional device or devices, etc., and combinationsthereof. In addition, the recording device 110 is capable of beingplaced in communication with a signal source 114. The signal source 114may include any entity or device capable of providing a video signal tothe recording device 110. For example, the signal source 114 may be anantenna receiving a signal from a television tower, a satellite signal,a satellite signal receiver, a satellite antenna, a video camera, acable company's transmitter, a cable box, a digital set top box, acomputer broadcasting network, another receiving device, etc.

In some embodiments, the recording device 110 may be placed incommunication with a client 106. The client 106 may include a desktopcomputer, lap-top computer, hand-held computer, mobile phone, personaldigital assistant (PDA), network appliance, computer readable memory,digital music player, peripheral (e.g. printer, etc.), any component ofa computer, and/or any other type of logic. The client 106 maycommunicate with the recording device 110 wirelessly.

More information regarding functionality of a recording device 110 withother devices such as client 106, servers 104, etc. can be found in U.S.patent application Ser. No. 12/491,954 to Kotab, filed Jun. 25, 2009,which is herein incorporated by reference.

Several methods will now be described. As an option, such methods may beimplemented in the context of the architecture and environment of FIGS.1 and/or 2. Of course, however, the methods may be carried out in anydesired environment. Moreover, operations from the various methods maybe combined in any desired manner to provide additional embodiments andpermutations of the present invention.

A method 300 according to one embodiment depicted in FIG. 3 includes, ora system according to one embodiment has logic for, receiving a requestto record a television program (the television program may include asingle program, a series of programs, a special program, etc.). Seeoperation 302. The request may be received by one of the recordingdevices, a local server, a remote server, a website, a webpage, aworkstation, a television, etc. This request to record a televisionprogram may be initiated on a handheld device (such as a mobiletelephone, a personal media player (such as an APPLE iPOD, a MICROSOFTZUNE, a BLACKBERRY device, etc.), a universal remote control, etc.), onthe Internet (such as through a website, a webpage, an email program;etc.), directly through a user interface with a recording device, etc.Moreover, any method may be used to receive a request to record atelevision program, including receiving selection of a program from aguide output on a display device, website, webpage, etc.; receiving aninstruction as a result of a search query; receiving a calendaredrequest to record the program, etc. Additional examples, which may beimplemented in various embodiments, are disclosed in U.S. patentapplication Ser. No. 12/612,559 to Kotab, filed Nov. 4, 2009, and whichis herein incorporated by reference.

Further, the television program may be any type of programming relatedto television, in some approaches. For example, the television programmay be from subscription programming, pay-per-view (PPV) programming,public broadcast programming, television programs broadcast over theInternet, YOUTUBE television content, iTUNES store television content,Internet-based original content, streaming programs from HULU orNETFLIX, etc. Furthermore, the television program may be formatted inany manner, such as by any of the following standards from the MotionPicture Editors Guild (MPEG, MPEG-2, MPEG-4), DivX, Xvid, FFmpeg,Windows Media Video (WMV), National Television System Committee (NTSC),Advanced Television Systems Committee (ATSC), THEORA, QuickTime (.mov),Audio Video Interleave (AVI), high definition (HD) 3D standards, etc.

The television program may be received through hardwired and/or wirelessconnections. Further, the connections may include an intermediarydevice, such as a cable box, a set top box, a satellite antenna box,another device (such as a video cassette recorder (VCR), digital videodisc (DVD) player/recorder, BLU-RAY player/recorder, camcorder, gamingconsole—such as SONY PLAYSTATION 3, MICROSOFT XBOX, etc.), an aerialantenna, a computer equipped with a TV-in card, a network appliance,etc. This intermediary device may receive the television program from aservice provider, such as a cable television service, a satellitetelevision service provider, an online content provider, an Internetservice provider, a website, a webpage, etc.

In some embodiments, the intermediary device may receive the signal froma remote source or from a local receiver. For example, in oneembodiment, a cable box may receive a digital or analog televisionsignal through a coaxial cable. In another embodiment, a satellite dishmay receive a digital or analog television signal from a satellitetransmitter. In yet another embodiment, a network appliance may receivea digital signal from a Wi-Fi network. In still another embodiment, anantenna may receive an analog or digital terrestrial television signalfrom a transmitter. However, the television program may be received inthe intermediary device in any manner, and the intermediary device maybe integrated with the receiving device, in some approaches.

An amount of available storage space on each of at least two recordingdevices is determined in one approach. See operation 304. Any knownmethod may be used to determine the amount of available storage space.In one approach, a storage manager may be queried to determine an amountof storage space that is marked as available for receiving data. Inanother approach, a total amount of space available, that may generallybe output to a display device, e.g., to show a user how much capacityremains on the recording device, may be shown. In other approaches, aremaining amount of space and/or a used amount of space may be output,such as on a display device (e.g., a monitor, an LCD screen on a mobiledevice, etc.), on a visual meter (e.g., a series of LCD lights whichdisplay a circular gauge, a linear gauge, etc.), etc.

In this and other embodiments, determining an amount of availablestorage space may include determining an amount of free and/oroverwritable storage space. The amounts may be actual, e.g., 120 GBavailable for writing to, or relative, e.g., 25% free space. In otherapproaches, determining the amount of available storage space mayinclude determining an amount of used storage space. The amounts may beactual, e.g., 380 GB of 500 GB used, or relative, e.g., 75% used space.

One of the recording devices is selected to store a representation ofthe television program on a computer readable medium associated with therespective recording device based on the determined amounts of availablestorage space on each of the at least two recording devices, in oneembodiment. See operation 306. The representation may be a copy, acompressed file, a native format duplicate, etc. The selected recordingdevice stores the representation of the television program, e.g., on arecording (storage) medium such as a hard disk drive (HDD), a Flashmemory, a random access memory (RAM), etc. In one approach, therecording device having the most available storage space may be selectedfor storing the representation of the television program. In anotherapproach, the recording device may be selected based on some othercriteria, as would be known to one of skill in the art, such asavailability, speed, processing capacity, reliability of the connectionto the content provider and/or of the system, etc.

A representation of the television program may be stored (e.g., digitaland/or analog) on a computer readable medium, such as a diskette, aSecure Digital (SD) Card, a SONY MEMORY STICK, a CD-ROM, a DVD-ROM, aBLU-RAY disc, ROM, FLASH memory, HDD, etc. See operation 308. Therepresentation may be a duplicate, copy, or clone of the program asreceived from the source (e.g., raw data, data derived from the incomingsignal, a reassembly of the program from incoming packets of data,etc.), a compressed version of the received program, a converted versionof the received program (e.g., for compatibility with a handheld deviceto maximize storage space, to reduce processing demands, etc.), anupconverted version of the received program (e.g., upconverting standarddefinition broadcasting 480i/p to 720i, 720p, 1080i, 1080p, etc.), andcombinations thereof, etc. The present description may refer torecording and/or storing a television program. This statement isequivalent and interchangeable with recording and/or storing arepresentation of the television program.

The recording device may be selected without user input regarding theselection, in some embodiments. In other approaches, user input may besolicited, such as user-confirmation of the selection, etc. In furtherapproaches, parameters and designations for selecting the recordingdevice(s) may be received from a user. Of course, in any embodiment,user input may be solicited, and if not received or not received in apredetermined period of time, a default selection may be followed.

In this and other embodiments, at least one of the recording devices maybe a digital video recorder (DVR). In some embodiments, both of therecording devices may be DVRs.

In preferred embodiments, the representation of the television programstored on the selected recording device may be viewable from another ofthe recording devices. For example, in this and any other embodiment,the television program data may be streamed or otherwise transferredfrom the recording device on which it is recorded to a second recordingdevice, e.g., via a network and/or direct connection, for output by thesecond recording device. In another approach, the representation of theprogram, in whole or in part, may be transferred to a second recordingdevice and stored thereon. Moreover, in some approaches, identities oftelevision programs stored on the selected recording device may beviewable from another of the recording devices. For example, in this andany other embodiment, the television programs stored on a firstrecording device may be viewable, selectable, transferrable, deletable,accessible, etc., from a second recording device, e.g., in a list outputby the second recording device to a display device. Such list in this orany other embodiment may include a merged list or separate lists showingwhich programs are stored on which recording device, etc. In someapproaches, a cover art, a title page, a thumbnail picture, etc., may bedisplayed that is representative of each television program stored oneither recording device, such that a user can quickly and convenientlysearch and access a desired stored television program.

A method 400 according to another embodiment depicted in FIG. 4includes, or a system according to one embodiment has logic for,receiving a request to record a television program. See operation 402.The request and how it is received may be of any type, such as any oneof the many exemplary types disclosed elsewhere herein.

An approximate or actual amount of storage space needed to recordpreviously-scheduled television programs on a first recording device maybe determined, according to one approach. See operation 404. Suchpreviously-scheduled television programs may be determined from a “todo” list or queue, etc., of the first recording device. The amount ofstorage space may be approximated based on any factor or set of factors,such as length of the program, data size of previously-stored versionsof programs in a series to which the requested program belongs, a datasize received from the source of the program, a running time of theprogram, a compression ratio of the program, a definition of the program(e.g., 480i, 1080i, 1080p, etc.), etc. In some embodiments, determiningan amount of needed storage space includes estimating and/or determiningan amount of data associated with the previously-scheduled televisionprograms. The amount may be actual, e.g., 120 GB of data, or relative,e.g., will use 15% of the total available space.

Similarly, an approximate or actual amount of storage space needed torecord previously-scheduled television programs on a second recordingdevice may be determined. See operation 406.

One of the recording devices may be selected, with or without furtheruser input, to store a representation of the television program on acomputer readable medium associated with the respective recording devicebased on the determined amounts of needed storage space on each of therecording devices, where the selected recording device stores therepresentation of the television program. See operation 408 and 410.

In one approach, an amount of available storage space on each of therecording devices may be determined, and the selecting may furtherinclude determining whether a data size of the requested televisionprogram and the previously-requested television programs exceeds theamount of available storage space on each of the recording devices. Ifthe total data size exceeds the amount of available storage space on thefirst recording device but not on the second recording device, then theprogram may be recorded on the second recording device. If the totaldata size exceeds the available space on both recording devices, theprogram may be stored on the device that received the request, the usermay be queried as to where to store the program, the program may bestored to the recording device having the most space available, theoldest recorded program (which can be deleted, with or without userinput), etc.

In another approach, an amount of available storage space on each of therecording devices may be determined, and the recording device having themost available storage space may be selected for storing therepresentation of the television program. Further, the televisionprogram may be recording across both recording devices, such that aportion is recorded on the first recording device and a portion isrecorded on the second recording device. The user can then watch theshow in its entirety, since each recording device may access the contentstored on the other recording device to output.

In yet another approach, if one or both recording devices do not haveadequate, free space to record the programs scheduled in a queue or “todo” list to record, one or both recording devices may search foralternate broadcast formats of the chosen television program from whichto record the chosen television programs. For example, if a footballgame is selected to be recorded in 1080i high definition (HD); but thereis not enough space on either recording device to store the entirefootball game in this HD format, then a standard definition (SD)broadcast may be chosen instead, and recorded by the recordingdevice(s).

In preferred embodiments, the representation of the television programstored on the selected recording device may be viewable from another ofthe recording devices. For example, in this and any other embodiment,the television program data may be streamed or otherwise transferredfrom the recording device on which it is recorded to a second recordingdevice, e.g., via a network and/or direct connection, for output by thesecond recording device, manipulation by the second recording device,transfer by the second recording device, etc. In another approach, therepresentation of the program, in whole or in part, may be transferredto a second recording device and stored thereon. Moreover, in someapproaches, identities of television programs stored on the selectedrecording device may be viewable from the other recording devices. Forexample, in this and any other embodiment, the television programsstored on a first recording device may be viewable, selectable,transferrable, deletable, accessible, etc. from a second recordingdevice, e.g., in a list output by the second recording device to adisplay device, etc. In some approaches, a cover art, a title page, athumbnail picture, etc., may be displayed that is representative of eachtelevision program stored on either recording device, such that a usercan quickly and conveniently search and access a desired storedtelevision program.

A method 500 according to another embodiment depicted in FIG. 5includes, or a system according to one embodiment has logic for,receiving a request to record a television program. See operation 502.The request may be of any type, and how the request is received may bevia any technique, such as any one of the many exemplary types disclosedelsewhere herein.

A determination is made as to, whether completing a recording of thetelevision program may conflict with a previously-scheduled recording ona first recording device, in one approach. See operation 504. Suchpreviously-scheduled recording may be determined from a “to do” list orqueue, etc., of the first recording device. For recording devices havingmultiple tuners, and one tuner is available though the other tuner maybe scheduled for use during the requested program, no conflict arisesbecause the available tuner can be used, thereby avoiding the conflict.However, if all tuners are scheduled for use, then a conflict arises.

Recording of the television program may be scheduled on the firstrecording device if the recording does not conflict with apreviously-scheduled recording on the first recording device. Seeoperation 506. If there is a conflict, then the recording may bescheduled to occur at a later time when a conflict will not arise, basedon a later broadcast of the television program to be recorded.

A request to schedule recording of the television program on a secondrecording device may be sent if the recording conflicts with apreviously-scheduled recording on the first recording device. Seeoperation 508.

Preferably, the second recording device schedules recording of thetelevision program upon receiving the request. However, a notificationmay be received from the second recording device that the recordingconflicts with a previously-scheduled recording on the second recordingdevice. Preferably, in such an event, a request for further instructionsfor recording the television program may be output. The request mayinclude options such as canceling the request to record the televisionprogram, recording the television program at a later time, recording thetelevision program on an alternate broadcast, etc., may be sent to auser. An alternate broadcast of the same television program may include,but is not limited to, broadcasts on other networks (ABC versus NBC,etc.), broadcasts at different times (10:30 PM versus 7:30 PM, etc.),broadcasts in different definitions (1080i versus 720p, etc.),broadcasts from different service providers (satellite service providerversus cable service provider, television programming available over theInternet versus television programming providers, etc.), etc. Forexample, if a television program conflicts with, other scheduledrecordings and cannot be recorded as scheduled, it may be downloadedfrom the Internet at a later time when there is space available on oneor both recording devices.

The foregoing method may be performed by the first recording device,where the first recording device sends the request to schedule recordingof the television program on the second recording device to the secondrecording device. Moreover, in some embodiments, the determining,scheduling, and/or sending operations may be performed without userinput. The receiving operation, of course, may include receiving userinput or operating under default settings in the case of a lack of userinput.

In preferred embodiments, the representation of the television programstored on one recording device may be viewable from another of therecording devices. For example, in this and any other embodiment, thetelevision program data may be streamed or otherwise transferred fromthe recording device on which it is stored to a second recording device,e.g., via a network and/or direct connection, for output and/ormanipulation by the second recording device. In another approach, therepresentation of the program, in whole or in part, may be transferredto a second recording device and stored thereon. Moreover, in someapproaches, identities of television programs stored on the selectedrecording device may be viewable from another of the recording devices.For example, in this and any other embodiment, the television programsstored on a first recording device may be viewable, selectable,transferrable, deletable, accessible, etc. from a second recordingdevice, e.g., in a list output by the second recording device to adisplay device. In some approaches, a cover art, a title page, athumbnail picture, etc., may be displayed that is representative of eachtelevision program stored on either recording device, such that a usercan quickly and conveniently search and access a desired storedtelevision program.

A method 600 according to another embodiment depicted in FIG. 6includes, or a system according to one embodiment has logic for,determining an amount of available storage space on each of at least tworecording devices. See operation 602. Again, any method for determiningthe amount of available storage space may be used.

Stored video data may be transferred from a first of the recordingdevices to a second of the recording devices having more availablestorage space than the first of the recording devices. See operation604. The transferred video data in any embodiment may be a clone, copy,duplicate, or replication of the data originally stored, a reducedquality or size version thereof, etc., for example, as described in U.S.patent application Ser. No. 12/362,966 to Kotab, filed Jan. 30, 2009,which is herein incorporated by reference.

The video data may be stored on the second recording device and madeavailable for later output, and the video data may be deleted from thefirst recording device during or after the transferring. See operation606 and 608. Among other things, this procedure opens up more recordingspace on the first recording device, thereby allowing the firstrecording device to operate as a primary storage device, while thesecond recording device captures overflow storage needs.

In one approach, the stored video data may be selected for transfer toprovide about a same relative amount of storage space on the first andsecond recording devices after the transfer. For example, a first DVRmay have 10% space available and a second DVR may have 40% spaceavailable before the transfer. After the transfer, both DVRs may have25% space available.

In another approach, the stored video data may be selected for transferto increase an amount of available storage space on the first recordingdevice to at least a predetermined level. For example, the system may beset to keep at least 10% free space on the first DVR. When the first DVRhas less than 10% free space, the foregoing process may occurautomatically to transfer sufficient program data to the second DVR toprovide the desired 10% free space availability on the first DVR.

In some embodiments, the stored video data may be transferred upondetermining that a present or future recording operation will use morestorage space than the available amount of storage space. For example,the process may be automatically invoked when the first DVR will, has,or is about to exceed a total amount of available storage space. Ratherthan requiring deletion of a previously-recorded program, e.g., theoldest program not flagged to keep, or not recording thecurrently-requested program, one or more stored television programs maybe transferred to a second DVR for storage thereon. This may include theprogram being presently recorded. That way, the transferred program isnot lost but remains available for viewing.

In one approach, the second recording device has a higher total datastorage capacity than the first recording device, and the data istransferred to the second recording device because it has more capacity.For example, the second recording device may have a 2 GB hard drive,while the first recording device has a 500 MB hard drive.

In one embodiment, the process or system may further include receiving aselection of the stored video data for transfer; determining amounts ofavailable storage space that each of the at least two recording deviceswould have after transfer of the selected video data; outputting theamounts of available storage space that each of the at least tworecording'devices would have after transfer of the selected video data;and receiving a further instruction to perform the transfer.

In another embodiment, the process or system may further includereceiving a selection of the stored video data for transfer; determiningamounts of available storage space that each of, the at least tworecording devices would have after transfer of the selected video data;outputting the amounts of available storage space that each of the atleast two recording devices would have after transfer of the selected,video data; receiving selection of different, stored video data fortransfer; determining and outputting amounts of available storage spacethat each of the at least two recording devices would have aftertransfer of the selected different video data; and receiving a furtherinstruction to perform the transfer. Note that the different video datamay be video data other than the video data first selected, or mayinclude some or all of the video data first selected, along withnewly-selected data.

In a particularly preferred approach, the recording device having themost available storage space may be selected for storing therepresentation of the television program.

In preferred embodiments, the representation of the television programstored on one recording device is viewable from another of the recordingdevices. For example, in this and any other embodiment, the televisionprogram data may be streamed or otherwise transferred from the recordingdevice on which it is stored to a second recording device, e.g., via anetwork and/or direct connection, for output by the second recordingdevice. In another approach, the representation of the program, in wholeor in part, may be transferred to a second recording device and storedthereon. Moreover, in some approaches, identities of television programsstored on the selected recording device are viewable from the another ofthe recording devices. For example, in this and any other embodiment,the television programs stored on a first recording device may beviewable, selectable, transferrable, deletable, accessible, etc., from asecond recording device, e.g., in a list output by the second recordingdevice to a display device. In some approaches, a cover art, a titlepage, a thumbnail picture, etc., may be displayed that is representativeof each television program stored on either recording device, such thata user can quickly and conveniently search and access a desired storedtelevision program.

The determining and transferring may be initiated without user input inone approach. For example, the method may be performed upon sometriggering event, such as when a recording device determines that thestorage capacity thereof is running low; at a predetermined time (e.g.,scheduled maintenance); etc. In another approach, the method may beinitiated upon receiving a user request.

A method 700 according to another embodiment depicted in FIG. 7includes, or a system according to one embodiment has logic for,receiving a request to transfer a stored representation of a televisionprogram from a first recording device to a second recording device, thefirst and second recording devices communicating with each other using adirect connection between the recording devices or over a local areanetwork to which they are directly coupled. See operation 702.

The stored representation is transferred from the first recording deviceto the second recording device, where the representation is stored onthe second recording device and made available for later output. Seeoperation 704. The video data may automatically (i.e., without furtheruser input) be deleted from the first recording device during or afterthe transferring.

As an option, an amount of available storage space on each of therecording devices may be determined, and the amount of available storagespace on each of the recording devices may be output, such as bydisplaying, transferring, copying, etc.

In preferred embodiments, the representation of the television programstored on the second recording device may be viewable from the firstrecording device. For example, in this and any other embodiment, thetelevision program data may be streamed or otherwise transferred fromthe second recording device on which it is stored to the first recordingdevice, e.g., via a network and/or direct connection, for output by thefirst recording device, e.g., to a television set, monitor, etc. Inanother approach, the representation of the program, in whole or inpart, may be transferred to a second recording device and storedthereon. Moreover, in some approaches, identities of television programsstored on the selected recording device are viewable from the another ofthe recording devices. For example, in this and any other embodiment,the television programs stored on a first recording device may beviewable, selectable, transferrable, deletable, accessible, etc. from asecond recording device, e.g., in a list output by the second recordingdevice to a display device. In some approaches, a cover art, a titlepage, a thumbnail picture, etc., may be displayed that is representativeof each television program stored on either recording device, such thata user can quickly and conveniently search and access a desired storedtelevision program.

A method 800 according to another embodiment depicted in FIG. 8includes, or a system according to one embodiment has logic for,receiving a request to record a television program. See operation 802.The request may be of any type and how it is received may through anymethod, such as any one of the many exemplary types disclosed elsewhereherein.

An amount of available storage space on each of at least two recordingdevices may be determined. See operation 804. Again, any technique maybe used to estimate the available storage space, including the exemplarymethods disclosed herein.

The amounts of available storage space on each of the recording devicesmay be output and/or may be shared across each recording device. Seeoperation 806.

A request for selection of one of the recording devices for recordingthe television program may be presented to a user for selection thereof,according to one embodiment. See operation 808.

A reply to the request for selection may be received, e.g., from a user,and the reply may indicate a selection of one of the recording devicesfor recording and/or accessing thereof according to another embodiment.See operation 810.

The selected recording device may be instructed to record the televisionprogram, in one embodiment. See operation 812.

In preferred embodiments, a representation of the television programstored on the second recording device is viewable from the firstrecording device. For example, in this and any other embodiment, thetelevision program data may be streamed or otherwise transferred fromthe recording device on which it is stored to another recording device,e.g., via a network and/or direct connection, for output by the otherrecording device. In another approach, the representation of theprogram, in whole or in part, may be transferred to a second recordingdevice and stored thereon. Moreover, in some approaches, identities oftelevision programs stored on the second recording device are viewablefrom the first recording device. For example, in this and any otherembodiment, the television programs stored on a first recording devicemay be viewable, selectable, transferrable, deletable, accessible, etc.,from a second recording device and vice versa, e.g., in a list output bythe recording device to a display device. In some approaches, a coverart, a title page, a thumbnail picture, etc., may be displayed that isrepresentative of each television program stored on either recordingdevice, such that a user can quickly and conveniently search and accessa desired stored television program.

A method 900 according to another embodiment depicted in FIG. 9includes, or a system according to one embodiment has logic for,determining an amount of available storage space on a first recordingdevice. See operation 902.

A determination may be made as to whether a size of video dataassociated with a present or future recording operation exceeds theamount of available storage space, in one embodiment. See operation 904.

If it is determined that the size of the video data associated with apresent or future recording operation exceeds the amount of availablestorage space, previously-stored video data may be selected for transferto a second recording device, e.g., to make room for the new recording,and/or deleted from the first recording device, in some embodiments. Seeoperation 906.

The selected video data is transferred from the first recording deviceto the second recording device, where the transferred video data isstored on the second recording device and made available for lateroutput. See operation 908. As an option, the selected video data may notbe transferred to the second recording device if the second recordingdevice does not have an amount of available storage space that is atleast as great as a data size of the selected video data. In such case,other video data may be selected for transfer, video data may be deletedfrom the first recording device, etc. For example, the oldest recordingnot flagged to keep may be deleted. In another embodiment, a prioritysetting may dictate which video data is deleted and/or transferred. Inanother embodiment, duplicate recordings of television programs may beidentified and one or more copies of the duplicate recordings may bedeleted to maximize free space. See operation 910.

In one approach, the previously-stored video data is selected based onan amount of available storage space on the second recording device. Forexample, if, the size of a first program is 4 GB and the size of asecond program is 12 GB, and the second recording device has 10 GB offree space, the first program may be transferred. On the other hand, ifthe second recording device has 100 GB of free space, the larger programmay be selected to provide more available free space on the firstrecording device.

The selected video data may be deleted from the first recording deviceduring or after the transferring. The deleting may be performed bymarking or listing the media space where the video data was stored asavailable for data storage, allowing overwriting of the transferredvideo data, etc. This procedure opens up more recording space on thefirst recording device without requiring absolute deletion of the videodata.

In preferred embodiments, a television program associated with the videodata transferred to the second recording device may be viewable from thefirst recording device. For example, in this and any other embodiment,the television program data may be streamed or otherwise transferredfrom the recording device on which it is stored to another recordingdevice, e.g., via a network and/or direct connection, for output by theother recording device, e.g., viewing on a display, outputting via HDMIto another device, etc. In another approach, the representation of theprogram, in whole or in part, may be transferred to a second recordingdevice and stored thereon. In alternative approaches, the storage mayoccur on a device connected to the second recording, device, such as aportable HDD, a SD card, a USB drive, etc. Moreover, in some approaches,identities of television programs stored on the second recording devicemay be viewable from the first recording device. For example, in thisand any other embodiment, the television programs stored on a firstrecording device may be viewable, selectable, transferrable, deletable,accessible, etc., from a second recording device and vice versa, e.g.,in a list output by the recording device to a display device. In someapproaches, a cover art, a title page, a thumbnail picture, etc., may bedisplayed that is representative of each television program stored oneither recording device, such that a user can quickly and convenientlysearch and access a desired stored television program.

In various embodiments, the methodology presented herein may beperformed by a recording device that is receiving instructions directlyfrom a user, e.g., via a remote control, etc. In other approaches, themethodology presented herein may be performed at least in part on asecond recording device that is receiving instructions directly from auser, the second recording device providing instructions to the firstrecording device to initiate some or all of the steps at the firstrecording device.

Additional embodiments are presented below. On skilled in the art, armedwith the teachings herein, will appreciate that any of the featurespresented below may be combined with any of the features presented aboveto create the multitude of possible permutation and combinations fallingwithin the spirit and scope of the present application.

Storage of television programming locally on a recording device is oftenproblematic, in that the storage space thereon is limited, resulting inolder programs being automatically deleted to make room for newerrecordings.

Referring to FIG. 10, a method 1000 according to another embodimentincludes, or a system according to one embodiment has logic for,receiving a request to record a contiguous television program, where“contiguous” refers to the program being broadcast in a single block oftime such as 30 minutes, one hour, two hours, etc. on a single day forexample. See operation 1002. Of course, presence of commercials, shortinterruptions or intermissions (e.g., up to about ½ hour in length),etc. during the program may be considered to be part of the program, andwould not alter the contiguous nature of the program.

The request to record the television program may be received via anysuitable process or mechanism, including those presented elsewhereherein. For example, the request to record the television program may bereceived by the local recording system. In another example, the requestto record the television program is received by a website andtransferred to the local recording system.

In operation 1004, a representation of a first portion of, thetelevision program is stored on a local recording system such as theaforementioned recording device, any system implementing such arecording device as a component thereof, etc. For example, the localrecording system may include any device, such as a storage unit such asa home storage server, personal computer, DVR, etc. and an output devicecoupled to the storage unit via a local network (e.g., LAN or WiFinetwork), the output device having an output connection for outputtingthe television program to a display device. In another embodiment, thelocal recording system is a digital video recorder. In a furtherembodiment, the local recording system includes a handheld device withintegrated display.

The first portion of the television program is temporally shorter than alength of the television program. For example, the first portion can befixed, e.g., the first 10 minutes, 15 minutes, 30 minutes, etc.; can beconditionally based on a contiguous length of the television program,e.g., first 10 minutes of a 30 minute contiguous program, first 20minutes of a 60 minute contiguous program, etc.; can be conditionallybased on a ratio or percentage, e.g., first 20% (temporally) of thecontiguous program, first ¼ of the program, etc.; can be predeterminedand/or selected by the recording device; can be selected by a user,e.g., correspond to a user-selected duration; can be specified by thecontent provider or recording device provider; may be based in part ongenre, such as longer first portions for sports and shorter firstportions for movies; etc.

In one approach, a duration of the first portion of the televisionprogram is based on an amount of available storage space on the localrecording system. For example, if the available storage space is abovesome threshold such as 50%, 40%, 33%, etc., a longer first portion maybe recorded. When the amount of available free space falls below thatthreshold, then a shorter first portion may be recorded. A sliding scalemay be used in another approach, such as where the duration of the firstportion, e.g. as a whole or at some ratio relative of the length of theprogram, becomes smaller in steps as the amount of available spacedecreases.

In operation 1006, a message is sent to a remote system for causingstorage of a representation of a second portion of the televisionprogram in the remote system in response to the message. The secondportion can be the portion of the television program remaining after thefirst portion, can include a small overlap of the first portion, can besome larger or smaller portion than the portion of the televisionprogram remaining after the first portion. etc. The message can be anytype of data, such as data which includes a request to record the secondportion, information about the program and the first portion thereof, aunique code that is interpreted by the remote system in a way thatallows it to discern what to record; etc.

In most cases, the second portion of the television program istemporally shorter than a length of, the television program, though itis envisioned that the entire program could be recorded by the remotesystem concurrently with only the first portion being recorded on thelocal recording system. Like the first portion, the duration of thesecond portion can be fixed, variable and/or conditional.

In one approach, the second portion of the television programcorresponds to a portion of the television program that conflicts withanother scheduled recording such as when the recording system has noavailable tuners to record the program. For example, assume a request isreceived to record program C from 7 pm to 8 pm. However, the recordingsystem has two tuners, one of which is scheduled to record program Afrom 6 pm to 8 pm and the other of which is scheduled to record programB from 7:30 pm to 8 pm. Thus, a tuner is only available from 7 pm to7:30 pm. The first portion of program C can be recorded locally until7:30, at which time recording of program B will commence. The secondhalf of program C is stored by the remote system.

The remote system may be any type of system that is geographicallyremoved from the local recording system and in constant, period, ondemand, etc. communication with via any suitable mechanism such as anetwork connection, etc. Examples of a remote system may include, e.g.,a client, network server, etc. In one approach, the remote systemincludes a server that the local recording system communicates with viathe Internet. In another approach, the remote system includes a digitalvideo recorder coupled to the local recording system via a local network(e.g., LAN or WiFi network).

In operation 1008, an indication of the television program is output ona list of (at least partially) recorded programs e.g., in a list outputby a local recording device to a display device. The list, in this andany other embodiment, may include a sequential, sortable, etc. list ofrecorded programs, as well as assist in making the television programsstored on the local recording system viewable, selectable,transferrable, deletable, accessible, etc. Moreover, the list may beviewable from a second recording device, e.g., in a list output by thesecond recording device to a display device. Such list in this or anyother embodiment may include a merged list or separate lists showingwhich programs are stored on which recording device and/or remoteserver, etc. In some approaches, a cover art, a title page, a thumbnailpicture, etc., may be displayed that is representative of eachtelevision program stored on either recording device, such that a usercan quickly and conveniently search and access a desired storedtelevision program.

In operation 1010, a request to play back the television program isreceived via selection of the indication from the list. For example, auser browsing the list may select the program using a user interfacedevice such as a remote controller, and then select a “play” button onthe remote controller. In one approach, the local recording systemreceives signals associated with such user actions from the remotecontroller and initiates playback of the requested program using thestored representation of the first portion.

In operation 1012, the first portion of the television program isoutput, e.g., to a display device such as a television. The localstorage allows the first portion to be nearly instantaneously output toa display device. In other approaches, the first portion may be outputto another system such as a set top box or second recording devicecoupled to the local recording system, etc. Thus, the representation ofthe television program stored on the local recording device may beviewable from another output device in communication therewith via alocal network.

In operation 1014, at least a portion of the representation of thesecond portion of the television program is downloaded, e.g., whileoutputting the first portion of the television program, shortlythereafter, upon receiving a user request to download the secondportion, etc.

Note that the representation of the second portion of the televisionprogram may be downloaded as stored at the remote system; may bemodified, e.g., converted to a data format compatible with the recordingdevice, compressed, etc.; etc. Preferably, the quality of the secondportion upon playback is as good as the quality of the first portion.

In one embodiment, all of the representation of the second portion ofthe television program is downloaded. In one approach, once the userstarts watching a program, the rest of the program can be simultaneouslydownloaded and stored on the local recording system so that it is readyfor fast output to the display device, will not cause delays if the userfast forwards through portions of the program, etc.

In another embodiment, a portion of the representation of the secondportion of the television program is downloaded. In one approach, aboutwhen output of the first portion program commences or shortlythereafter, a next temporal section of the program can be simultaneouslydownloaded and stored on the local recording system. The duration of thetemporal section may, be fixed, variable and/or conditional. Forexample, assume a 1 hour program is recorded, and the first portionincludes the first 20 minutes of the program. Once the user selects thefirst program from the list or recorded programs and starts watching thefirst portion of the program, the local recording system downloads thenext 20 minutes of the program. Once the user begins to watch the next20 minutes of the program, the local recording system downloads the last20 minutes of the program. In another example, a sliding temporal windowmay be used, such as in an embodiment where about 30 minutes of theprogram ahead of the temporal location currently being output to theuser is stored on the local recording system. Data may be downloadedfrom the remote system as needed in order to keep about the sliding 30minutes of the program available from the local, recording system. Ifthe user fast forwards the program to the point where the program is notlocally stored, then the programming can be streamed from the remotesystem to the local recording system.

In operation 1016, the second portion of the television program isoutput after outputting the first portion of the television program. Thesecond portion may be streamed directly to the display device, stored bythe recording system and later output, etc. In further approaches,perhaps only a minute or two of the program is stored locally to enableinstant playback, with the remaining portion stored remotely anddownloaded immediately upon selection of the program or soon after theprogram is selected. In one preferred embodiment, downloading o of thesecond portion of the television program is initiated about whenplayback of the first portion begins. In this way, a sizeable part ofthe second portion can be downloaded and stored by the local recordingsystem before being output so that the dropped frames, lag, reducedquality, and/or pixilation typical of direct streaming of video isavoided. Note, however, that there may be some instances where video isdirectly streamed from the remote system and output, such as where theprogram is fast forwarded to a part thereof that is at the end of theportion stored on, or not yet stored on, the local recording system.

In one embodiment, an option to record the entire television programlocally may be provided. Such option may be output for display alongwith other recording options. If the option is selected, the entirecontiguous program may be recorded by the local storage system.

In some approaches, the request to record a contiguous televisionprogram may include a request to record a series of programs associatedwith the television program, and a specification of a duration of firstportions of the programs in the series. Thus, for example, the user candictate shorter first portions be stored in local storage for certainprograms and/or series, perhaps for a series that the user is not surehe or she will watch, that the user knows he or she will not fastforward through, etc. The user may then also dictate longer firstportions (and/or local storage of all of the program(s)) for otherprograms and/or series, for example, that the user may believe he or shewill definitely watch, will be more apt to fast forward through, etc.

In one embodiment, a user request to delete the television program isreceived. In response thereto, the representation of the first portionand representation of the second portion of the television program maybe deleted from the recording system upon receiving the request. In oneapproach, a delete message is sent to the remote system, the remotesystem deleting the representation of the second portion of thetelevision program in response thereto. Note that this may occur atanytime, including before any of the second portion is transferred tothe recording system. Moreover, this may occur as a function of any typeof criteria, such as the program passing an expiration or “delete by”date, the need to use the storage space allocated to the representationof the first portion, etc.

To conserve available recording space, the remote system may delete theat least a portion of the representation of the second portion of thetelevision program upon transfer thereof, preferably immediately orshortly thereafter to free up storage space for further recordings.

Note that the local recording system may store non-television user dataselected from a group consisting of photos, home videos, and documentson the local recording system.

FIG. 11 depicts a method 1100 that may be performed, for example, inassociation with logic of the remote system. As an option, such methodmay be implemented in the context of the architecture and environment ofany of the foregoing FIGS. Of course, however, the methods may becarried out in any desired environment. Moreover, operations from thevarious methods may be combined in any desired manner to provideadditional embodiments and permutations of the present invention.

In operation 1102, a message is received, e.g., from a local recordingsystem that is located remotely and in communication therewith via anetwork such as the Internet. This message may be a message as notedabove, or any other type of message that causes operation 1104 to beexecuted.

Moreover, the message may include a request to record a series ofprograms associated with the television program, and a specification ofa duration of second portions of the programs in the series.

In operation 1104, a representation of a second portion of a contiguoustelevision program is stored in response to the message, wherein thesecond portion of the television program is temporally shorter than alength of the television program. Thus, preferably, a representation ofa first portion of the television program is not stored, by, the systemperforming the method 1100. However, the local system may record thefirst portion of the television program, where a duration of the firstportion of the television program may be based on any of the parametersprovided above.

The parameters relating to the second portion may be similar to thosepresented above for the first and/or second portions. For example, thesecond portion of the television program may correspond to auser-selected duration.

The representation of the second portion may be stored by any type ofsystem, whether in, a same household, halfway around the world, orsomewhere in between. Thus, for example, the second portion may be adigital video recorder coupled to the local system via a local network(e.g., LAN or WiFi network).

In operation 1106, a request to upload at least a portion of therepresentation of the second portion of the television program isreceived, e.g., from the local recording system, from a servermoderating the communications, etc.

In operation 1108, the at least a portion of the representation of thesecond portion of the television program is uploaded to a local systemthat may be any type of system such as the aforementioned localrecording system, a storage unit such as a home storage server, personalcomputer, DVR, etc. and an output device coupled to the storage unit viaa local network (e.g., LAN or WiFi network), a handheld device withintegrated display, etc. The various portions and othercomponents/parameters may be as described elsewhere herein. For example,the various durations can be fixed, variable and/or conditional. Thus,in one embodiment, all of the representation of the second portion ofthe television program is uploaded at one time, e.g., as part of thesame transfer. In another embodiment, a portion of the representation ofthe second portion of the television program is uploaded at one time.

In one approach, the second portion of the television programcorresponds to a portion of the television program that conflicts withanother scheduled recording on the local system.

In another approach, the at least a portion of the representation of thesecond portion of the television program is downloaded simultaneouslywith the outputting the first portion of the television program.

A request to delete the television program may be received, and therepresentation of the second portion of the television program deletedin response thereto.

Moreover, as above, the at least a portion of the representation of thesecond portion of the television program may be deleted upon transferthereof.

FIG. 12 depicts a method 1200 according to one embodiment, or a systemaccording to one embodiment having logic for performing the operations.

In operation 1202, a request to record a television program is received.

In operation 1204, a representation of a first portion of the televisionprogram is stored on a local recording system, the first portion beingtemporally shorter than a length of the television program.

In operation 1206, a message is sent to a remote system, where theremote system stores a representation of a second portion of thetelevision program in response to the message, and where the secondportion of the television program corresponds to a portion of thetelevision program that conflicts with another recording scheduled to berecorded by the recording system.

In operation 1208, at least a portion of the representation of thesecond portion of the television program is downloaded.

Additional operations may be performed, such as one or more ofoutputting an indication of the television program on a list of (atleast partially) recorded programs; receiving a request to play back thetelevision program via selection of the indication from the list;outputting the first portion of the television program; and outputtingthe second portion of the television program after outputting the firstportion of the television program.

In one embodiment, the at least a portion of the representation of thesecond portion of the television program is downloaded prior tooutputting the first portion of the television program to a displaydevice. For example, the representation of the second portion of thetelevision program can be stored at least in a buffer at the remotesystem and streamed to the local recording system any time, e.g., assoon as the television program ends, before it ends, almost immediatelyupon receipt thereof by the remote system, etc.

In another embodiment, the at least a portion of the representation ofthe second portion of the television program is downloadedsimultaneously with output of the first portion of the televisionprogram to a display device.

While the present invention has been illustrated and described withreference to specific embodiments, further modification and improvementswill occur to those skilled in the art. The present description has thusbeen presented to enable any person skilled in the art to make and usethe invention and is provided in the context of particular applicationsof the invention and their requirements. Various modifications to thedisclosed embodiments will be readily apparent to those skilled in theart and the general principles defined herein may be applied to otherembodiments and applications without departing from the spirit and scopeof the present invention. Thus, the present invention is not intended tobe limited to the embodiments shown or described, but is to be accordedthe widest scope consistent with the principles and features disclosedherein.

In particular, various embodiments discussed herein may be implementedusing the Internet as a means of communicating among a plurality ofcomputer systems. One skilled in the art will recognize that the presentinvention is not limited to the use of the Internet as a communicationmedium and that alternative methods of the invention may accommodate theuse of a private intranet, a LAN, a WAN, a PSTN or other means ofcommunication. In addition, various combinations of wired, wireless(e.g., radio frequency) and optical communication links may be utilized.

The program environment in which a present embodiment of the inventionmay be executed illustratively incorporates one or more general-purposecomputers or special-purpose devices. Details of such devices (e.g.,processor, memory, data storage, input and output devices) are wellknown and are omitted for the sake of clarity.

It should also be understood that the techniques presented herein mightbe implemented in logic using a variety of technologies. For example,the methods described herein may be implemented in software (includingfirmware) running on a computer system, and/or implemented in hardwareutilizing either a microprocessor and/or other specially designedapplication specific integrated circuits, programmable logic devices,and/or various combinations thereof. In particular, methods describedherein may be implemented by a series of computer-executableinstructions residing on a storage medium such as a disk drive, memory(RAM and/or ROM), or computer readable medium such as a nonvolatilecomputer readable storage medium, etc. Computer code enabling themethodology described herein may be downloadable. In addition, althoughspecific embodiments of the invention may employ object-orientedsoftware programming concepts, the invention is not so limited and iseasily adapted to employ other forms of directing the operation of acomputer.

Various embodiments can also be provided in the form of a computerprogram product comprising a computer readable medium having computercode thereon. A computer readable medium can include any medium capableof storing computer code thereon for use by a computer, includingoptical media such as read only and writeable CD and DVD, magneticmemory, semiconductor memory (e.g., FLASH memory and other portablememory cards, etc.), etc. Further, such software can be downloadable orotherwise transferable from one computing device to another via network,wireless link, nonvolatile memory device, etc.

Additionally, some or all of the aforementioned code may be embodied onany computer readable storage media including tape, FLASH memory, systemmemory, hard drive, etc. Additionally, a data signal embodied in acarrier wave (e.g., in a network including the Internet) can be thecomputer readable storage medium.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Thus, the breadth and scope of an embodiment should not belimited by any of the above-described exemplary embodiments, but bedefined only in accordance with the following claims and theirequivalents.

What is claimed is:
 1. A method, comprising: receiving a request torecord a contiguous television program, the request being initiated by alocal recording system; sending a message to a remote system for causingstorage of a representation of at least a portion of the contiguoustelevision program in the remote system in response to the message;causing storage of the representation of the at least a portion of thecontiguous television program in the remote system; outputting anindication of the contiguous television program on a list of recordedprograms, the indication of the contiguous television program on thelist of recorded programs being configured to be output on an integrateddisplay associated with the local recording system; receiving a requestto play back the contiguous television program via selection of theindication from the list, the request to play back the contiguoustelevision program being initiated by the local recording system;outputting at least a first portion of the contiguous television programto the local recording system for display on the integrated display,while at least part of the representation of the at least a portion ofthe contiguous television program is being stored in the remote system,wherein a representation of the first portion of the contiguoustelevision program is stored on the local recording system, the firstportion being temporally shorter than a length of the contiguoustelevision program; outputting at least a second portion of thecontiguous television program to the local recording system for displayon the integrated display, after outputting the first portion of thecontiguous television program; in response to receiving a transferrequest, allowing transfer of the entire contiguous television programto the local recording system, the complete version of the contiguoustelevision program including at least the first portion of thecontiguous television program and the second portion of the contiguoustelevision program; allowing the storage of the entire contiguoustelevision program by the local recording system; and causing deletionof the representation of the at least a portion of the contiguoustelevision program in the remote system, in response to receiving arequest to delete the contiguous television program from the localrecording system.
 2. The method of claim 1, wherein the first portion ofthe contiguous television program corresponds to a user-selectedduration.
 3. The method of claim 1, further comprising providing anoption to record the entire contiguous television program on the localrecording system.
 4. The method of claim 1, wherein receiving a requestto record a contiguous television program includes a request to record aseries of programs associated with the contiguous television program,and a specification of a duration of first portions of the programs inthe series.
 5. The method of claim 1, wherein the second portion of thecontiguous television program is streamed to the local recording system.6. The method of claim 1, wherein the first portion of the contiguoustelevision program is streamed to the local recording system.
 7. Themethod of claim 1, wherein the remote system includes a server that thelocal recording system communicates with via the Internet.
 8. The methodof claim 1, wherein the remote system includes a digital video recordercoupled to the local recording system via a local network.
 9. The methodof claim 1, wherein the local recording system is a tablet computer. 10.The method of claim 1, wherein the local recording system is a digitalvideo recorder.
 11. The method of claim 1, wherein the local recordingsystem is a mobile phone.
 12. The method of claim 1, wherein the requestto record the television program is received by a website andtransferred to the remote system.
 13. The method of claim 1, wherein aduration of the first portion of the contiguous television program isbased on an amount of available storage space on the local recordingsystem.
 14. The method of claim 1, wherein the representation of the atleast a portion of the contiguous television program stored on theremote system is viewable from another output device in communicationtherewith via a local network.
 15. The method of claim 1, wherein thelocal recording system includes a handheld device with an integrateddisplay.
 16. The method of claim 1, wherein at least a portion of thethe second portion of the contiguous television program is outputtedsimultaneously with the outputting the first portion of the contiguoustelevision program.
 17. The method of claim 1, further comprisingreceiving a user request to delete the contiguous television program;and deleting the representation of the first portion and representationof the second portion of the contiguous television program from theremote system upon receiving the request.
 18. The method of claim 17,further comprising sending a delete message to the remote system, theremote system deleting the representation of the second portion of thecontiguous television program.
 19. The method of claim 1, wherein theremote system deletes the at least a portion of the representation ofthe second portion of the contiguous television program upon transferthereof.
 20. A system, comprising: logic for receiving a request torecord a contiguous television program, the request being initiated by alocal recording system; logic for sending a message to a remote systemin response to the request, wherein the remote system stores arepresentation of at least a portion of the contiguous televisionprogram, in response to receiving the message; logic for outputting anindication of the contiguous television program on a list of recordedprograms, the indication of the contiguous television program on thelist of recorded programs being configured to be output on an integrateddisplay associated with the local recording system; logic for receivinga request to play back the contiguous television program via selectionof the indication from the list, the request to play back the contiguoustelevision program being initiated by the local recording system; logicfor outputting at least a first portion of the contiguous televisionprogram to the local recording system for display on the integrateddisplay, while at least part of the representation of the at least aportion of the contiguous television program is being stored in theremote system, wherein a representation of the first portion of thecontiguous television program is stored on the local recording system,the first portion being temporally shorter than a length of thecontiguous television program; logic for outputting at least a secondportion of the contiguous television program to the local recordingsystem for display on the integrated display, after outputting the firstportion of the contiguous television program; logic for, in response toreceiving a transfer request, allowing transfer of the entire contiguoustelevision program to the local recording system, the complete versionof the contiguous television program including at least the firstportion of the contiguous television program and the second portion ofthe contiguous television program; logic for allowing the storage of theentire contiguous television program by the local recording system; andlogic for causing deletion of the representation of the at least aportion of the contiguous television program in the remote system, inresponse to receiving a request to delete the contiguous televisionprogram from the local recording system.
 21. The system of claim 20,wherein the first portion of the contiguous television programcorresponds to a user-selected duration.
 22. The system of claim 20,further comprising logic for providing an option to record the entirecontiguous television program on the local recording system.
 23. Thesystem of claim 20, wherein receiving a request to record a contiguoustelevision program includes a request to record a series of programsassociated with the contiguous television program, and a specificationof a duration of first portions of the programs in the series.
 24. Thesystem of claim 20, wherein the second portion of the contiguoustelevision program is streamed to the local recording system.
 25. Thesystem of claim 20, wherein the first portion of the contiguoustelevision program is streamed to the local recording system.
 26. Thesystem of claim 20, wherein the remote system includes a server that thelocal recording system communicates with via the Internet.
 27. Thesystem of claim 20, wherein the remote system includes a digital videorecorder coupled to the local recording system via a local network. 28.The system of claim 20, wherein the local recording system is a tabletcomputer.
 29. The system of claim 20, wherein the local recording systemis a digital video recorder.
 30. The system of claim 20, wherein thelocal recording system is a mobile phone.
 31. The system of claim 20,wherein the request to record the television program is received by awebsite and transferred to the remote system.
 32. The system of claim20, wherein a duration of the first portion of the contiguous televisionprogram is based on an amount of available storage space on the localrecording system.
 33. The system of claim 20, wherein the representationof the at least a portion of the contiguous television program stored onthe remote system is viewable from another output device incommunication therewith via a local network.
 34. The system of claim 20,wherein the local recording system includes a handheld device with anintegrated display.
 35. The system of claim 20, wherein at least aportion of the the second portion of the contiguous television programis outputted simultaneously with the outputting the first portion of thecontiguous television program.
 36. The system of claim 20, furthercomprising receiving a user request to delete the contiguous televisionprogram; and deleting the representation of the first portion andrepresentation of the second portion of the contiguous televisionprogram from the remote system upon receiving the request.
 37. Thesystem of claim 36, further comprising sending a delete message to theremote system, the remote system deleting the representation of thesecond portion of the contiguous television program.
 38. The system ofclaim 20, wherein the remote system deletes the at least a portion ofthe representation of the second portion of the contiguous televisionprogram upon transfer thereof.
 39. A computer program product embodiedon a non-transitory computer readable medium, comprising: code forreceiving a request to record a contiguous television program, therequest being initiated by a local recording system; code for sending amessage to a remote system for causing storage of a representation of atleast a portion of the contiguous television program in the remotesystem in response to the message; code for causing storage of therepresentation of the at least a portion of the contiguous televisionprogram in the remote system; code for outputting an indication of thecontiguous television program on a list of recorded programs, theindication of the contiguous television program on the list of recordedprograms being configured to be output on an integrated displayassociated with the local recording system; code for receiving a requestto play back the contiguous television program via selection of theindication from the list, the request to play back the contiguoustelevision program being initiated by the local recording system; codefor outputting at least a first portion of the contiguous televisionprogram to the local recording system for display on the integrateddisplay, while at least part of the representation of the at least aportion of the contiguous television program is being stored in theremote system, wherein a representation of the first portion of thecontiguous television program is stored on the local recording system,the first portion being temporally shorter than a length of thecontiguous television program; code for outputting at least a secondportion of the contiguous television program to the local recordingsystem for display on the integrated display, after outputting the firstportion of the contiguous television program; code for, in response toreceiving a transfer request, allowing transfer of the entire contiguoustelevision program to the local recording system, the complete versionof the contiguous television program including at least the firstportion of the contiguous television program and the second portion ofthe contiguous television program; code for allowing the storage of theentire contiguous television program by the local recording system; andcode for causing deletion of the representation of the at least aportion of the contiguous television program in the remote system, inresponse to receiving a request to delete the contiguous televisionprogram from the local recording system.
 40. The computer programproduct of claim 39, wherein the computer program product is configuredsuch that the list of recorded programs includes a first list showingtelevision programs that are stored on the remote system and a secondseparate list showing programs that are stored on the local recordingsystem.
 41. The computer program product of claim 39, wherein the localrecording system is a hand held mobile device.
 42. The computer programproduct of claim 39, wherein the remote system is a digital videorecorder.